package com.hll.javaweb.servlet.basic;

import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;

/**
 * @author hll
 * @create 2022-05-10 10:26
 */
@WebServlet("/hello-response")
public class HelloResponse extends HttpServlet {
  // 跳转页面，url改变了！与dispatcher-03不同，此时不能用 / 开头。。。无语
  // resp.sendRedirect("pages/hello.html");
  // resp.setHeader();   setStatus..... 还有其他的一些设置回复的方法
  @Override
  protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {

    System.out.println(resp.getCharacterEncoding()); // 默认ISO-8859-1

    //    // 设置服务器字符集为UTF-8
    //    resp.setCharacterEncoding("UTF-8");
    //    // 通过响应头，设置浏览器也使用UTF-8字符集
    //    resp.setHeader("Content-Type", "text/html; charset=UTF-8");

    // 它会同时设置服务器和客户端都使用UTF-8字符集，还设置了响应头
    // 此方法一定要在获取流对象之前调用才有效
    resp.setContentType("text/html; charset=UTF-8"); // 等价于上述两个set

    System.out.println(resp.getCharacterEncoding());

    // 往客户端回传 字符串 数据
    PrintWriter writer = resp.getWriter(); // getOutputStream太原始了
    writer.write("你好世界");
  }
}
